﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NexTrackDesktop.NexTrack;
using NexTrackDesktop.Media;
using NexTrackDesktop.MainService;

/// <summary>
/// This class stores all party related info
/// </summary>
public class Party
{
    public Queue Queue { get; private set; }
    public Playlist Playlist { get; private set; }
    public Settings Settings { get; private set; }
    
    public string AccessCode { get; private set; }
    public string Description { get; private set; }
    public string PartyID { get; private set; }

    private MainServiceAdapter WebService;

    /// <summary>
    /// This method creates a party with specified parameters
    /// </summary>
    /// <param name="partyID">Party ID of party</param>
    /// <param name="description">Description of party</param>
    /// <param name="accessCode">Access Code of party</param>
    public Party(string partyID, string description, string accessCode, MainServiceAdapter serviceAdapter)
    {
        WebService = serviceAdapter;

        Queue = new Queue(serviceAdapter);
        Playlist = new Playlist(serviceAdapter);
        Settings = new Settings(serviceAdapter);

        PartyID = partyID;
        Description = description;
        AccessCode = accessCode;
    }

    /// <summary>
    /// This method ends the party
    /// </summary>
    public void EndParty()
    {
        throw new NotImplementedException();
    }

    ///// <summary>
    ///// This method plays the next song in queue
    ///// </summary>
    //public void NextSong()
    //{
    //    throw new NotImplementedException();
    //    //Song s = Client.WebService.GetNextSong();
    //    //Client.Player.NowPlaying = s;
    //    //Client.WebService.UpdateNowPlaying(s);
    //    //Queue.UpdateQueue();
    //}
}